<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class Ocupacion extends CI_Controller {

    public function __construct() {
        parent::__construct();
        session_start();
        $this->load->model('categoriam');
        $this->load->model('habitacionesm');
        $this->load->model('cliente_x_reservam');
        $this->load->model('establecimientom');
        $this->estaLogueado();
        $this->esAdministrador();
        $this->establecimiento = $_SESSION["establecimiento"]["id_establecimiento"];
    }

    public function index() {
        $data = array();
        $this->loadData($data);
        $this->load->view('header', $data);
        $this->load->view('ocupacionV');
        $this->load->view('footer');
    }

    public function loadData(&$data) {
        if (!empty($_GET["desde"])) {
            $this->formatoFechaBD($_GET["desde"]);
        } else {
            $_GET["desde"] = date("Y-m-d", strtotime('-9 day'));
        }
        if (!empty($_GET["hasta"])) {
            $this->formatoFechaBD($_GET["hasta"]);
        } else {
            $_GET["hasta"] = date("Y-m-d");
        }

        $interval = date_diff(date_create($_GET["desde"]), date_create($_GET["hasta"]));
        if ($interval->days > 365) {
            $_GET["desde"] = date("Y-m-d", strtotime('-9 day'));
            $_GET["hasta"] = date("Y-m-d");
            $_SESSION["mensaje"]["contenido"] = "El rango máximo de días no puede exceder un año";
            $_SESSION["mensaje"]["tipo"] = "advertencia";
        }


        $data["tab"] = "ocupacion";
        $data['categorias'] = $this->categoriam->getAllCategorias($this->establecimiento);
        if (!empty($_GET["categoria"])) {
            $data['cuartos'] = $this->habitacionesm->getHabitaciones($_GET["categoria"]);
        }

        $totalHabitaciones = $this->establecimientom->obtenerTotalHabitaciones($this->establecimiento, $_GET);
        $totalHabitaciones = $totalHabitaciones[0]->cantidad;
        $data["totalHabitaciones"] = $totalHabitaciones;
        $data["resultado"] = new stdClass();
        $j = 1;
        $data["auxDesde"] = $_GET["desde"];
        $data["auxHasta"] = $_GET["hasta"];
        $suma = 0;
        for ($i = strtotime($_GET["desde"]); $i <= strtotime($_GET["hasta"]); $i+=86400) {
            $dia = date("Y-m-d", $i);
            $aux = "dia" . $j++;
            $ocupacion = $this->establecimientom->obtenerOcupacion($this->establecimiento, $dia, $_GET);
            $ocupacion = $ocupacion[0]->cantidad;
            $ocupacionConBloqueos = $this->establecimientom->obtenerOcupacionConBloqueos($this->establecimiento, $dia, $_GET);
            $ocupacionConBloqueos = $ocupacionConBloqueos[0]->cantidad;
            $data["resultado"]->$aux = round($ocupacion / $totalHabitaciones * 100, 2);
            $data["resultado"]->{$aux . "ocupacion"} = $ocupacion;
            $data["resultado"]->{$aux . "habDisponibles"} = $totalHabitaciones-$ocupacionConBloqueos;
            $suma = $suma + $data["resultado"]->$aux;
            //echo date("d-m-Y", $i) . "<br>";
        }
        $data["promedio"] = round($suma / ($j - 1), 2);



        if (!empty($_GET["desde"])) {
            $this->formatoFechaVista($_GET["desde"]);
        }
        if (!empty($_GET["hasta"])) {
            $this->formatoFechaVista($_GET["hasta"]);
        }
    }

}
